home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Almathera Ten Pack 3: CDPD 3
/
Almathera Ten on Ten - Disc 3: CDPD3.iso
/
scope
/
201-220
/
scopedisk202
/
bbbbs2
/
information
/
bbbbs.doc
< prev
next >
Wrap
Text File
|
1995-03-19
|
19KB
|
461 lines
2 Mar 1991
BBBBS - Baud Bandit Bulletin Board System for the Amiga - BBBBS
***************************** Features *****************************
Up to 99 file libraries with extended filenotes.
Up to 99 fully threaded message conferences.
Number of users, files, messages, etc. are only limited by storage space.
Controlled file library and message conference access for users & sysops.
Complete Email area including binary mail, and multiple forwarding.
User statistics including messages written, files ul/dled, time, etc.
RexxDoors sub-area, Grin_du_Jour, Your_Fortune, One_Armed_Bandit
Searches: Search users, file descriptions, or messages.
Online Text Editor: with Cut and Paste, Replace, and Spellchecking.
Separate multi-tasking module for local sysop logon.
***************************** Contents ****************************
1. Copyright and Distribution Information
2. Requirements
3. Organization
4. Setting Up
5. User data
6. bbsSYSOP.rexx
7. Macros
8. rexxDoors
9. Additional Notes
******************** Copyrights and Distribution ********************
The ARexx modules used in BBBBS are copyright 1990 Richard Lee Stockton,
and ALL RIGHTS ARE RESERVED. In particular, commercial use of these
programs requires a written agreement with the author. HOWEVER, these
files may be freely distributed and used for non-commercial purposes
AS LONG AS the copyright notices contained within the code remain intact.
To contact me for distribution or just more information:
Richard Lee Stockton
21305 60th Ave West
Mountlake Terrace, WA 98043-2009
Phones:
voice = 206-776-1253
FAX = 206-775-7573
BBS = 206-744-1254
Telecomm:
send Email to RLStockton on PLINK or BIX or GENIE
****************** Requirements for operation ************************
BBBBS Requirements: Assumes standard 1.3 or 2.0 Amiga OS
BBBBS.baud requires ~2 MEGS of RAM to run. 1.5 MEG without spellchecking.
Commercial:
BaudBandit 1.50 ~$35
ARexx 1.15 ~$35
Freely Distributable
BBBBS.LZH
rexx (must be in your rexx: drawer)
Answer.baud
BBBBS.baud
bbsSYSOP.rexx
bbsUsage.baud
BumpLevel.baud
Setup.rexx
ShowLog.baud
ToggleYell.baud
libraries (must be in your system Libs: drawer)
arp.library (on bbs everywhere)
rexxarplib.library (by Willy Langeveld. on bbs everywhere)
screenshare.library (comes with rexxarplib)
rexxmathlib.library (comes with ARexx)
rexxsupport.library (comes with ARexx)
rexxsyslib.library (comes with ARexx)
commands (must be in your system C: drawer
QuickSort (by Marvin Weinstein - ARexxQSort.lzh)
lharc (freely distributable de-archivers...)
arc
zoo
unzip
************************** Organization **********************************
BBS:
BBBBS looks in your s: directory for the file "CONFIG.BBS" which sets all
preferences including the device where the BBS files are located.
Within this device, the BBS may use 99 file & 99 message directories.
Users may be given access levels between 0 (new user) and 99 (super-sysop).
The lowest sysop level (gets to edit filenotes, maybe edit messages
depending on level) defaults to 80. Level 99 (and only level 99!) is
allowed to open a remote Shell and the power to edit ANY file remotely.
Uload/Dload access to libraries & conferences at or below the user's level.
Also, a sysop may exclude certain directories from the user's use.
(file libraries by name, or message conferences by number)
BBS System File Directories:
Dir 81 = 'Information' = User viewable files. 'I' from the Main Menu.
Dir 82-85 = = <future>
Dir 86 = 'Scratch' = temporary editor files, etc. For debugging.
Dir 87 = 'BBS_HELP' = Command summary files, according to level.
Dir 88 = 'rexxDoors' = rexx doorway programs
Moon.rexx = the phase of the moon
Time.rexx = the time in words
Fortune.rexx = 'one-liner' fortune
One_Armed_Bandit.rexx = Las Vegas Gambling
Grin_du_Jour.rexx = 'one-liner' humor
rexxDoors/Data/Fortune = data for 'Your_Fortune.rexx'
rexxDoors/Data/Grins = data for 'Grin_du_Jour.rexx'
Dir 89 = 'BBS_TEXT' = Text (mostly) files used by the BBS.
HELLO = Sign on message. (19 lines max!)
NEW = New user welcome message.
YELL.snd = (optional) Yell-For-Sysop sound.
YELL = (optional) Yell voice script.
WELCOME = default welcome message
WELCOME.Mon, WELCOME.Tue, ..., WELCOME.Sun
= Daily Welcome messages.
WELCOME.1225 = Christmas welcome msg.
GOODBYE = Logoff message. (local BBS numbers)
DEF.NEW_USER = new user defaults
DEF.MEMBER = member defaults
DEF.COURTESY = courtesy list defaults
Dir 90 = 'FileNotes' = A dir of dirs. Each dir corresponding to a
file library. Within each, a file desciption
of the corresponding file in the library.
Written by BBBBS.baud, but editable.
Dir 91 = 'BBS_LIBS' = Up to 99 file libraries. You select the names of
these by editing the file 'BBS:Lists/Libraries'.
The BBS sees them by name.
Dir 92 = 'BBS_MSGS' = Up to 99 message conferences. You select the
names of these by editing the file
'BBS:Lists/Conferences', but the BBS sees
them as MSG1 thru MSG99.
Dir 93 = 'Lists' = System lists and lists needed by bbsREXX.
Libraries = see example for proper format
Conferences = see example for proper format
FileList = THIS FILE IS WRITTEN BY
BBBBS.baud. Under normal
circumstances it should NOT
be edited by humans. format:
'filenum dirname filename'
Courtesy = List of VIP usernames. A new
user on this list is given immediate access.
That name is then removed from this list.
Excuses = list of randomly selected
reasons why the sysop
cannot CHAT right now.
*** Following dirs contain files written by BBBBS.baud. DO NOT EDIT! ***
Dir 94 = 'Numbers' = LastFile, LastMail, LastMessage1, etc.
Dir 95 = 'Usage' = Monthly files. Counts hours of modem usage.
Dir 96 = 'Logs' = Daily files. Tracks user, time, mail or message
activity, uloads/dloads, internal errors, etc.
Built in 'log-reader' for sysops.
Dir 97 = 'EMailFiles' = Private files left attached to EMail.
Dir 98 = 'EMail' = Private mail between users.
Dir 99 = 'Users' = User files.
*************************** Setting Up *****************************
Follow these steps to set up your own BBS..
1. Do Initial Setup (assumes that bbspath is "BBS:")
a. CD to BBS: ; the directory to de-lharc the bbs into
b. Lharc -x x BBBBS ; extract respecting original paths
c. COPY BBS:rexx/QuickSort C: ; ARexx QuickSort
d. COPY BBS:S/#? S: ; CONFIG.BBS, Bandit.Keys, Bandit.Config
e. COPY BBS:rexx/#? REXX: ; NOTE: 250K of rexx programs!
2. Make sure that "C:DATE" returns the correct time and date. The BBS
needs to know the correct time and date for many of its routines.
3. Use a Text editor to edit the following lists. These lists can be
changed or edited anytime. The libraries may be re-ordered at any time,
but the message conferences can only be added to, not re-shuffled. That
is, once you associate a message conference title with its number, and
messages are actually written to that conference, you MUST keep that same
number associated with that conference title. (This is because messages
are kept in MSG1, MSG2, etc. while files are kept in directories created
with the title that YOU give it. BTW, no spaces are allowed in titles).
You may change the CONFERENCE title, but the old messages in that
conference will still refer to the old title. It is possible to change
a LIBRARY title, but you also have to rename the directory, and update
all references to the old dir (which can be quite a few!), so I advise
against it. Use care in all title selections and save yourself future
problems with re-naming.
a. BBS:Lists/Conferences (message conference names)
b. BBS:Lists/Libraries (file library names)
c. BBS:Lists/Courtesy (these names receive INSTANT validation)
d. BBS:Lists/Excuses (good reasons why the sysop can't chat right now)
4. Use a Text editor to edit "S:CONFIG.BBS" to your preferences.
IMPORTANT! Test your "c:info" from the CLI with your "info-compatible"
device name to make sure that the blocks free amount is being returned.
If you want the default sysop name to be something other than "SYSOP":
a. The name should be in all caps with the "_" character substituted for
spaces. (ie, RICHARD_LEE_STOCKTON).
b. Then, put "SYSOP" in the exclusion list to "forward" all requests
for "SYSOP" to your sysop name.
c. Finally, REName BBS:Users/SYSOP BBS:Users/<your sysop name>
5. Use the Text editor on the following textfiles to be read by the user.
a. BBS:BBS_TEXT/HELLO /* this is the title message */
b. BBS:BBS_TEXT/NEW /* message to new users */
c. BBS:BBS_TEXT/WELCOME /* once-a-day welcome to users */
d. BBS:BBS_TEXT/GOODBYE /* last thing the user sees */
e. BBS:Information/SYSTEM_INFO /* what Amiga model, OS, etc */
6. You may also wish to edit the default user files in the BBS_TEXT drawer,
but I suggest leaving them alone until you gain a better understanding
of the BBS system.
a. DEF.NEW_USER /* all lines are used */
b. DEF.COURTESY /* all lines are used */
c. DEF.MEMBER /* ONLY time, level, and exclude_dirs are used */
7. Start the LOCAL BBS by typing "rx bbsSYSOP SETUP". (password=password).
This will make the directories you specified in BBS:Lists/Libraries, (if
they don't already exist).. likewise, the message conferences will be
constructed, if needed. You will then enter the bbs _AS IF_ it were running
from the modem although Baud Bandit is not needed at all.
8. Select "Y" to edit your personal data. CHANGE YOUR PASSWORD!!
9. Read the HELP file in [I]nformation for general command information,
and take a look around the board. Try out some things a user would try.
10. Use "G" to logoff which re-writes your user file.
11. Start BaudBandit. Check BB's Macro display. The important thing
here is to make sure that "\mAnswer.baud" is in "RING" portion of BB's
configuration.
Handshake should be set to "NONE" (otherwise CTRL-S can hang the BBS).
AutoBaud should be set to "ON" and the baud rate to the same value
you have set in BBS:BBS/CONFIG as the Maximum baudrate.
If you make any changes remember to save them.
12. If you have RAM to spare, give yourself a large capture buffer in
BaudBandit, especially if you will be debugging. You can use BB's
review buffer to study what the user did, in what order, and what
happened. I have mine set to about 100k..
13. To set up the BBS to start automatically in the background, add
these lines to your startup-sequence:
(assumes that BaudBandit is in the BBS: drawer)
rx setup
WaitForPort('QuickSortPort')
BBS:BB
WaitForPort BAUD
;rx Baud OFF ; uncomment this line to close BB's screen after startup
14. Wait for callers ... and soon become beloved sysop to billions of users...
********************* User data file ***************************
1. name:
2. street:
3. city, st zip:
4. phone:
5. password: (only visible by user and super-sysop)
6. protocol:
7. lines per page:
8. preferences: may include MENU or MENUS, COLOR, STREET, PHONE
9. Computer:
10. Interests:
11. Time: <nn> minutes <nn> more times today
12. first date on: datestamp timestamp
13. last date on: datestamp timestamp
14. upload: <nn> files <nn> bytes day month year
15. download: <nn> files <nn> bytes day month year
16. lastfile: lastfile datestamp timestamp
17. rtio/eml: download/upload_ratio total_email_written
18. winnings: <nn>
19. time on: <nn> days <nn> hours <nn> minutes in <nn> calls.
20. level: <nn>
21. exclude directories list: (only viewable/editable by sysops)
22. msg_read: MSG1 MSG2 MSG3 ... MSG<last>
23. msg_writ: MSG1 etc.
Default data for New Users is stored in BBS_TEXT/DEF.NEW_USER
Default data for Courtesy List Users is stored in BBS_TEXT/DEF.COURTESY
Only lines 6-21 of these files are used, the rest are ignored.
Default data for Members is stored in BBS_TEXT/DEF.MEMBER
Only lines 11, 20 and 21 of this file is used, the rest are ignored.
********************** bbsSYSOP.rexx ***************************
This is a multi-tasking (within limits, see below) rexx program that
you as the sysop may run from a Shell or CLI. In most ways it is just
like the regular BBS program, so you see what your users see. However,
it is not connected to BaudBandit in any way, and in fact, does not
use the serial port (or your modem) at all. Upload and download functions
are transmuted into copy (with the arp requester), and some functions
are left out (like the check for DCD, etc.). It DOES look at the same
data that BBBBS.baud looks at, and reasonable care must be taken not
to add files to the file libraries while a user is also adding a file
to the libraries. Likewise, don't write EMail while the user is writing
email, and don't write messages while the user is writing messages IN
THE SAME CONFERENCE (messages CAN be written in different conference at
the same time, one by user, one by sysop).
CLI> rx bbsSYSOP SETUP
Whenever you have made changes to the CONFIG.BBS file, it's a good idea
to run bbsSYSOP with the SETUP option. This will check your list of dirs
for libraries and conferences, and MakeDir any that don't yet exist.
************************* Macros *******************************
Note that if called from BB with a user online, these macros will not
take effect if the user is waiting at a menu. You can press return
yourself to force the macro if it looks like the user is sleeping
F1 - ForceChat.baud - Forces user into chat at next prompt.
F2 - Twit.baud - TWIT-KEY, forces logoff of current user at next prompt.
F3 - BumpTime.baud - Opens a requester allowing you to set this users
maximum time in minutes for this session. It will take effect at
the next prompt. This is a temporary change, this session only.
F4 - BumpMember.baud - Member valuse are taken from "BBS_TEXT?DEF.MEMBER".
Takes effect at the next prompt. This change is saved to the users
data file. It is permanent.
F5 - BumpLevel.baud - Opens a requester allowing you to set the level and/or
upload to download ration for this user. It will take effect at the
next prompt. This change is permanently saved to the users data file.
F6 - Close Function Key Help Window
F7 - ShowLog.baud - Displays today's log on BB's screen, BBS running or not.
F8 - bbsUsage.baud -
Monthly usage. Used internally by BBBBS.baud, but can also be called
from BB or from a CLI. Argument is in form MonthYear (ie, Nov1990).
No argument calls current month.
F9 - Baud.rexx OFF - Turns BaudBandit's screen off (improves speed). While
the screen is off THE CAPTURE BUFFER STAYS OPEN! This means you can
leave the screen off for fastest response, then, when the modem tells
you the user has logged off, turn the screen on again (from CLI "rx
Baud") and read the review buffer (SHIFT-HELP).
F10 - Opens a Function Key Help Screen on BaudBandits screen. F6 to close.
***************************** rexxDoors ****************************
rexxDoors:
Almost ANY rexx program that uses NO GRAPHICS OTHER THAN CHARACTERS can
be easily made into a rexxDoors program. Just add these lines at the top:
CR="0D"x
SIGNAL ON BREAK_C
SIGNAL ON BREAK_E
and these lines at the bottom, just before the main RETURN or EXIT:
BREAK_C:
BREAK_E:
/* <-- might put "SetClip('BBS_winnings',winnings)" routine here */
EXIT;
and lastly, search the text for all instances of "SAY" and add "||CR" to
the END of each SAY command.
SAY 'Here we go.' becomes SAY 'Here we go.'CR or SAY 'Here we go.'||CR
Any "PULL" commands in the rexx script will take input from the user,
and any "SAY" commands will be sent out the modem.
All rexxDoors programs are sent the user name and his "winnings" as the
command argument. ie,
doorprogram.rexx(name winnings cash_or_seconds)
If cash_or_seconds=0, then we are playing for play-money cash (which is
remembered from session to session). If cash_or_seconds>0 then the user
is playing for the seconds remaining in this session. There is no
requirement that the rexxDoors program use ANY of these arguments. If
the rexxDoors program should return a "winnings" amount, it should do a
"SetClip('BBS_winnings',winnings)" before it returns.
******************************* Misc *****************************
Download/Upload Ratio: User data line 17, Word 1 - 0=DISABLED
Example: 5 means user will be refused downloading if
DownloadBytes divided by UploadBytes exceeds 5.0,
and bbs_preferences has Down/Upload Ratios set to ON (1).
*********************** end of BBBBS.doc ****************************